#ifndef __BLOQUEABLE_H_INCLUDED__
#define __BLOQUEABLE_H_INCLUDED__

#include <iostream>

class Bloqueable{
public:
	virtual void bloquear()=0;
	virtual void desbloquear()=0;
};

class Lock{
	Bloqueable &bloqueado;
public:
	Lock(Bloqueable &b):bloqueado(b){
		bloqueado.bloquear();
	}

	~Lock(){
		bloqueado.desbloquear();
	}
};

#endif //__BLOQUEABLE_H_INCLUDED__
